The invention relates to a user interface to a computing device. In particular the invention relates to a user interface that is displayed in three dimensions to display a plurality of sensory cues.
As late as the early 1990""s, a user interacted with most computers through text-based interfaces, such as Microsoft""s MS-DOS(trademark) operating system or any of the many variations of UNIX. Text based interfaces in order to provide complete functionality often contained cryptic commands and options that were far from intuitive to the non-experienced user. In addition, opening several applications simultaneously was often not possible, not only due to poor memory management by the underlying operating system, but also because each application generally monopolized the entire screen, making the navigation from application to application difficult.
Most current computer systems use two-dimensional graphical user interfaces to allow the user to manipulate the information stored on the system. These graphical user interfaces (GUIs) usually create graphical entities called xe2x80x9cwindowsxe2x80x9d to view individual documents. These windows can be placed around the screen and sized according to the user""s preferences. They also enable the user to scroll through a document when the document is too large to be seen all at once. The main advantage of these GUIs over previous generation interfaces (as described above) was that one may have several documents opened within an application, and several applications running at once. In addition, it became possible to associate an application with an icon, thus providing visual recognition. The user no longer had to remember arcane keywords and commands. The user could manipulate graphical abstractions of files and tools within windows on a screen. This new paradigm along with the introduction of the mouse, revolutionized how people used computers.
However, the complexity of the tasks performed by even casual computer users, as well as the number and types of tasks, is continually rising. It is not unusual for a user to be simultaneously running applications that allow them to: connect to the Internet, edit a document (text or multi-media), read electronic mail, access a calendar, receive or send a FAX, utilize a spreadsheet, etc. A complex task often requires the use of multiple applications to complete a task; it also requires that within an application, multiple documents may need to be accessed simultaneously. Thus, the modern user often has a large number of windows opened on the screen at once. The existing paradigm has trouble supporting a large number of windows opened simultaneously. It becomes difficult for the user to navigate through a stack of windows piled up on top of each other. Attempts have been made to alleviate the problem by providing navigational aids.
One such tool is the xe2x80x9ctaskbarxe2x80x9d. The taskbar is used to navigate between applications. The taskbar displays the name of each open window on separate buttons, sometimes accompanied by an icon representing the application that controls the window. The icons help in finding the right application. However, if there are multiple instances of the same application running, they will each have the same icon. Furthermore, the task bar quickly fills up, at which point the names become illegible.
Another navigational aid currently in use is the xe2x80x9cwindow listxe2x80x9d (typically used to navigate through the windows within a single application). This list shows the names of all the windows opened within an application; the user can bring a window to the top of the stack by clicking on its name. This is inconvenient as the user has to read all the names, and the length of the list that can be displayed is also limited. When the list is too long, the window list requires the user to select xe2x80x9cMore windows . . . xe2x80x9d if a window that is not on the list needs to be activated. By selecting xe2x80x9cMore windows . . . xe2x80x9d, another window list is displayed.
It is clear that the use of a taskbar and a window list improve the current two dimensional interface, but with limited success. More recently, attempts have been made to utilize a three dimensional graphical user interface. Most people are comfortable interacting with three dimensional views on a computer screen. For example, modern computer games have a 3D interface to provide the illusion that the player is part of the environment. Examples of 3D interfaces are discussed below.
U.S. Pat. No. 5,148,154 discloses a GUI that permits the production and creation of multi-media presentations. The GUI is implemented as a three dimensional xe2x80x9cvenuexe2x80x9d (best shown in FIG. 4). Viewing of the venue through different walls, provides different views of the resources available (e.g. sound or video). For example, a top view may represent the resources in time, such as the time required for a sound or video track in a movie. Thus each view represents a different attribute view of the resources available. There is no single view that allows the user to comprehend all the information contained within the interface.
U.S. Pat. No. 5,303,388 discloses a three dimensional icon associated with an object in the computer system. The example best shown in FIG. 7 is that of a data or program file where the attributes of that file are indicated on faces of the icon. The attributes including: size, date created, date last modified and type of content. The disadvantage of this approach is that each object within the system must have its own three dimensional icon. A user would thus be faced with hundreds of icons, with no conceptual framework in which to place them.
U.S. Pat. No. 5,339,390 discloses a central window with two peripheral extensions, one extension on each side of the central window. The extensions serve as additional windows with content displayed to the user. The user may contract the central window to better view objects on the extensions. Similarly, the central window may be stretched to better view the objects on the central window. This stretching is dependant upon which portion of the three windows the user wishes to view. As a point or object is selected for viewing the windows are appropriately modified in size to centre the object in the central window. This is best shown in FIG. 6. This patent discloses a variation on the common solution to the problem of too much data appearing in a window. The solution is simply to make the window larger than that which can be displayed on a single screen. As with other such solutions, this does not scale very well as a large amount of data requires scrolling across many panels.
U.S. Pat. No. 5,485,197 discloses an interactive television system having means for displaying a xe2x80x9ccarouselxe2x80x9d to allow the user to make a menu selection. As disclosed, the carousel displays a plurality of menu items on each face of the carousel. The items are displayed in text only and adjacent sides of the carousel are only marginally visible. The carousel rotates only about a single central vertical axis, hence the name xe2x80x9ccarouselxe2x80x9d. The carousel concept is wasteful of space, for example no data is available on the top or bottom of the carousel. Further, the carousel may be only rotated around one axis, requiring repeated user interaction to rotate the carousel to reveal the rear face. Finally, each menu provides at best a minimal visual cue as to the content accessible by each menu selection.
U.S. Pat. No. 5,515,486 discloses a GUI in the form of a polyhedron display container. Each face of the polyhedron contains icons associated with an application and xe2x80x9cworkspace switchesxe2x80x9d which allow the user to switch between active applications. A central front panel is the active panel and the user may select a new face of the polyhedron to be the active panel. In doing so, the polyhedron rotates a band of faces about a vertical, horizontal or diagonal axis to provide a new central active panel. As can be seen in FIGS. 3 or 4, the faces of the polyhedron are trapezoids, which are mapped to a rectangle when they become the central active panel. Due to the nature of the rotational interface, the inventors have in essence disclosed a three dimensional structure with a two dimensional user interface. The invention does not consider the rotation of the polyhedron as a whole about an axis of choice. In other words, a user may only rotate faces along specific axes.
U.S. Pat. No. 5,678,015 discloses a xe2x80x9cfour-dimensionalxe2x80x9d GUI. The GUI consists of a cube, having a window containing icons displayed on each of the six faces. The fourth dimensional aspect is the ability to rotate the cube in real time. The object of the invention being to allow the user to see far more windows simultaneously than would be available with a tiled screen or more conventional interface. Practically, the invention is flawed, as in order to view multiple faces, the walls must be transparent, thus creating a very confusing view for the user. In addition, unless a face is viewed obliquely, i.e. having an edge in the centre of the screen (see FIG. 5), the image will be nearly illegible given the clutter of multiple icons and the necessity to always provide a three dimensional view of a cube.
U.S. Pat. No. 5,838,326 discloses a three dimensional workspace for interacting with large numbers of documents. Three types of spaces are described: a focus space for the current document, an immediate space for placing documents close at hand, and a tertiary space where documents are stored. The immediate space is represented by placing documents on a desk or hanging them in the air. The tertiary space is shown as a bookshelf. This invention is an example of an attempt to organize data in a format that may be friendly to a specific type of user, in this case one who deals with large numbers of documents. It does not lend itself well to the storage of objects other than documents and it is not intuitive as to where documents may be stored.
U.S. Pat. No. 6,005,579 discloses a GUI that appears as a rectangular parallelepiped (i.e. a room). The user can simultaneously view and select items from a left wall, a central wall, a right wall and the floor or ceiling. This invention provides an interface where the user views his surroundings as if he were in a room. It has the disadvantage that only five surfaces are presented, and there is no capability provided to view a rear wall.
U.S. Pat. No. 6,016,145 discloses a GUI that displays multiple windows within a plurality of planes. The planes in the preferred embodiment represent the walls, floor and ceiling of a room. Windows may be moved between planes and are resized and reshaped accordingly. For example, a window on the back wall will appear smaller than a window on the front wall. Windows are tiled or stacked over other windows that may occupy the same plane. Thus the windows are xe2x80x9chungxe2x80x9d upon a plane that is a wall of the room. The inventors also provide for a plurality of xe2x80x9cisometric spacesxe2x80x9d (FIG. 13) arranged about a xe2x80x9cbonding surfacexe2x80x9d, in this case a central hub. Each isometric space is selectable by the user and each space contains a plurality of windows. This invention again makes use of the user interface as a xe2x80x9croomxe2x80x9d and permits the tiling of windows on each surface. Multiple rooms are considered, but there is no logical association between the rooms.
European patent publication number 483,777A3 (claiming priority from U.S. application 606,227 dated Oct. 31, 1990) discloses imaging techniques to display an icon in a three dimensional manner. This is achieved by highlighting features and edges of the icon with shading and different colours. This invention has slightly enhanced the concept of layered two dimensional windows by providing each window with three dimensional attributes to aid in recognition of the window. However, the windows are still layered, in that they overlay each other. The concept of a scaled down version of the contents of a window is also suggested to allow the user to sort and classify items on a visual basis. The traditional concepts of utilizing a three dimensional illustration of a filing cabinet or other storage device such as bookshelves or slide trays is also disclosed. Finally, the concept of having the image of a program icon change as the status of the application associated with the icon changes, is also discussed. This invention merely highlights the attributes of an icon or window to make them appear three dimensional and provide a sense of depth, it is a slight enhancement over the standard two dimensional interface.
As discussed above, there have been many attempts to apply a three dimensional or spatial aspect to the traditional two dimensional GUI. There have also been attempts to create a three dimensional GUI. However, none of these inventions have provided a practical and visually intuitive interface to allow users to efficiently and intuitively access the resources of a computing device via a three dimensional user interface. There is a need for a three dimensional user interface that is more intuitive and more easily utilized than the solutions provided to date.
The present invention provides a three dimensional interface that allows a user to intuitively locate and access resources from a computing device. The invention allows a user to interact with the interface in a three dimensional space. Accordingly, the user interface is referred to herein as a Spatial User Interface (SUI).
In accordance with one aspect of the present invention there is provided a user interface for a computing device, said interface comprising a graphic representation of a plurality of portals arranged in a three dimensional space; and a sensory cue displayed in at least one of said portals to facilitate recognition by a user of an application associated with said sensory cue.
In accordance with another aspect of the present invention there is provided a method for creating a populated three dimensional user interface, said method comprising the steps of: a) graphically representing a plurality of portals in a three dimensional space; b) mapping sensory cues on a one to one basis to at least some of said portals; and c) associating an application with each of said sensory cues.
In accordance with another aspect of the present invention there is provided a computer device for displaying a three dimensional user interface, said device comprising means for displaying said interface, said interface comprising: a graphic representation of a plurality of portals arranged in a three dimensional space; and a sensory cue displayed in at least one of said portals to facilitate recognition by a user of an application associated with said sensory cue.
In accordance with another aspect of the present invention there is provided a method for populating portals in a three dimensional user interface, said user interface having an exterior and an interior, comprising the steps of:
a) establishing a connection with a first web page;
b) creating a sensory cue based on the first web page;
c) mapping said sensory cue to an exterior portal; and
d) creating sensory cues for each additional web page accessible from said first web page and mapping said sensory cues to portals located on the interior of said user interface.
In accordance with another aspect of the present invention there is provided a computer readable medium containing instructions for controlling one or more three dimensional user interfaces in a computing device, by:
a) permitting a user to select a user interface, said selected interface containing a plurality of portals;
b) monitoring for first user input, said input indicating a portal of interest to said user;
c) upon receiving said first user input, moving said selected interface to centrally display said portal of interest;
d) monitoring for second user input to make said portal of interest an active portal, if input other than said second user input is received, returning to step b);
e) upon receiving said second user input, invoking an application program, until said user provides third user input to move to another portal; and
f) repeating steps b) to e) until said user provides third user input, thereby returning to step a)